#include "graph.hpp"
using namespace std;


int main()
{
    std::vector<std::string> vs = {"v0", "v1", "v2", "v3", "v4", "v5", "v6"};
    Graph<string, int> g(vs);
    g.AddEdge("v0", "v1", 1);
    g.AddEdge("v0", "v2", 5);
    g.AddEdge("v0", "v3", 4);

    g.AddEdge("v1", "v0", 1);
    g.AddEdge("v1", "v4", 7);
    g.AddEdge("v1", "v5", 2);

    g.AddEdge("v2", "v0", 5);
    g.AddEdge("v2", "v4", 6);

    g.AddEdge("v3", "v0", 4);
    g.AddEdge("v3", "v5", 8);

    g.AddEdge("v4", "v1", 7);
    g.AddEdge("v4", "v2", 6);
    g.AddEdge("v4", "v6", 9);

    g.AddEdge("v5", "v1", 2);
    g.AddEdge("v5", "v3", 8);
    g.AddEdge("v5", "v6", 3);

    g.AddEdge("v6", "v4", 9);
    g.AddEdge("v6", "v5", 3);

    g.Print();

    return 0;
}